1. Field of the Invention
This invention relates to an apparatus, system, and method for facilitating communication between an Enterprise Information System (EIS) and a client, and more particularly relates to an apparatus, system, and method for assuring delivery of EIS events to multiple clients.
2. Description of the Related Art
In today's business world vast amounts of information are generated. This information is vital to the success of a business and may be a business' most valued commodity. Information must be processed, stored, updated, and shared by the business' operational units. For example, a manufacturer must be able to share information with its sales offices, its support staff, its suppliers, its distributors, and various other entities. As a result, many businesses utilize an information storage system that may be centrally located and that everyone associated with the business can access. One such information system is an Enterprise Information System (EIS). A business may have several sub-entities or “clients” that access one or more EISs.
Software containing processing logic is often utilized to manage the communication between an EIS and a client system. This software or code generally resides in an adapter and helps build connectivity between EISs. The adapter enables bi-directional communication with an EIS. It allows clients to perform operations inside the EIS such as querying or modifying data. These operations are sometimes referred to as an outbound communication. The adapter may also enable a client to receive data from, or be made aware of changes in, the EIS. Information flowing in this direction is often referred to as inbound communication.
Inbound communications typically contain information about business data that has been created or changed inside the EIS. The creation, modification, update, or deletion of information within an EIS is referred to as an EIS event. It is often important to a business that all of its sub-entities or clients receive the same EIS event. Businesses do not want their divisions operating with inconsistent sets of data. Businesses want their data synchronized between their client systems. Businesses also do not want multiple copies of an EIS event sent to their client systems to preserve data integrity. Multiple copies of data can cause confusion and a lack of confidence in the data. Furthermore, excess data takes up space, which is often at a premium.
One problem with most adapters is that they don't assure delivery of events to the clients. For example, in publisher/subscriber systems, such as a message-based system, information is provided by a publisher, and subscribers have access to that information. However, if the subscriber client is off-line, or otherwise unresponsive, the client subscriber misses the update. Most publisher programs do not have the capability to provide the missed information to the unresponsive client at a later time. Most publisher programs do not even know that a subscriber has missed the update.
Another problem with some adapters is that they do not ensure that clients receive one and only one copy of a given event. These adapters are programmed to broadcast or transfer certain data at certain times and do not consider whether the client or end unit has already received the event. Yet another problem with many adapters is that they do not consider the status of any individual client while transmitting events to multiple clients. Thus, a client in a multiple client system is more likely to get out of sync with the other clients, as far as data transfer is concerned.
Another problem with many adapters is that they do not have recovery protocols to keep an event from becoming lost if there is an unexpected problem while processing the event. Yet another problem with many current adapters is that they cannot add or remove clients dynamically. Once a client becomes unresponsive, goes offline or otherwise become unavailable, some adapters can no longer send events to those clients.
From the foregoing discussion, it should be apparent that it would be an advancement in the art to provide an apparatus, system, and method for facilitating communication between an EIS and one or more clients that would assure delivery of EIS events to clients. It would be a further advancement in the art to provide such an apparatus, system and method that would send an event only once to each client. It would be further advancement in the art to provide such an apparatus, system, and method that would keep track of events even after one or more clients have become available. Such an apparatus, system, and method are disclosed and claimed herein.